package com.yun.zf.common.app.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 房源基本信息，一般隐藏只可用于业务查看
 */
@TableName("zf_house_basic")
@Data
public class ZfHouseBasic {

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @NotNull(message = "省级区划代码不能为空")
    private Long provinceCode;

    /**
     * 城市编码
     */
    @NotNull(message = "城市编码不能为空")
    private Long cityCode;

    /**
     * 区域编码，可使用高得提示查询返回的
     */
    @NotNull(message = "区域编码不能为空")
    private Long regionCode;

    /**
     * 街道区划代码
     */
    @NotNull(message = "街道区划代码不能为空")
    private  Long streetCode;

    /**
     * 省级名称
     */
    @ApiModelProperty(value = "省级名称")
    @NotBlank(message = "省级名称不能为空")
    private String provinceName;
    /**
     * 市级名称
     */
    @NotBlank(message = "城市名称不能为空")
    @ApiModelProperty(value = "城市名称")
    private String cityName;
    /**
     * 区域名称
     */
    private String regionName;
    /**
     * 街道名称
     */
    private String streetName;

    /**
     * 小区名称
     */
    @NotBlank(message = "小区名称不能为空")
    private String community;

    /**
     * 小区编号id
     */
    @NotNull(message = "小区编号不能为空")
    private Long communityId;

    /**
     * 楼栋号
     */
    @NotBlank(message = "楼栋号不能为空")
    private String section;

    /**
     * 单元号
     */

    private String unit;

    /**
     * 门牌号
     */
    @NotBlank(message = "门牌号不能为空")
    private String room;

    //业主名称
    @NotBlank(message = "业主名称不能为空")
    private String homeOwner;
    // 业主联系电话
    @NotBlank(message = "业主联系电话不能为空")
    private String phone;
    /**
     * 类型，1出租 、2、二手房、5新房 6、商铺出租、7商铺出售 8、写字楼出租 9 写字楼出售
     */
    @NotNull(message = "房源类型不能为空")
    private Integer type;

    /**
     * 用户在前端提交的委托则为待维护状态 unmaintain,业务员在后台申请维护后进入 checking-待实勘
     * 房屋状态 checking-待实勘 supplement-待完善 published-已上架 off-下架，rented-已出租、sold-已售出、ordered 已预定、 signing 签约中
     *
     */
    private String status;

    //数据来源，默认为自平台us 以及一些其它合作伙伴
    private String source="us";


    // 录单员工号
    private int recordUser;

    //录单员名称
    private String recordName;

    private Long deptId;
    //录单工具mini小程序，manager后台
    private String recordTool;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime ;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifiedTime = new Date();

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date pushTime;
}
